package day04;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

/**
 * 要求用户输入若干员工信息，格式为：
 * name,age,gender,salary,hiredate;name,age,gender,salary,hiredate;....
 * 例如:
 * 张三,25,男,5000,2006-02-15;李四,26,女,6000,2007-12-24;...
 * 然后将每个员工信息解析成Emp对象。并存入到一个集合中。
 * 然后循环集合，输出每一个员工信息(输出使用toString返回的字符串)
 * 然后输出每个员工的转正仪式日期。
 * 转正仪式日期为:入职3个月的当周周五
 * 
 * @author Bonnie
 *
 */
public class Test09 {
    public static void main(String[] args) throws ParseException {
        Scanner input=new Scanner(System.in);
        System.out.println("请输入员工的姓名，年龄，性别，工资，入职时间(yyyy-MM-dd)");
        String str=input.nextLine();
        String[] str0=str.split(";");
        Emp[] emps=new Emp[str0.length];
        int nowNum=0;
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        for (int i = 0; i < str0.length; i++) {
            String[] str1=str0[i].split(",");
            Boolean flag=false;
            for (int j = 0; j < nowNum; j++) {
                if (emps[j].equals(str1[0])==true){
                    System.out.println("该员工已存在！");
                    System.exit(0);
                }
            }
            if (flag==false){
                emps[i]=new Emp();
                emps[i].setName(str1[0]);
                emps[i].setAge(Integer.parseInt(str1[1]));
                emps[i].setGender(str1[2]);
                emps[i].setSalary(Integer.parseInt(str1[3]));

                Date hiredate=sdf.parse(str1[4]);
                //Calendar cal=Calendar.getInstance();
                emps[i].setHiredate(hiredate);
                nowNum++;
            }


        }
        for (int j = 0; j < emps.length; j++) {
            System.out.println(emps[j].toString());
        }
        Calendar cal=Calendar.getInstance();
        for (int i = 0; i < emps.length; i++) {
            cal.setTime(emps[i].getHiredate());
            cal.add(Calendar.MONTH,2);
            cal.set(Calendar.DAY_OF_WEEK,6);
            System.out.println(emps[i].getName() + ":" + sdf.format(cal.getTime()));
        }
    }

}
